iT邦幫忙

2023 iThome 鐵人賽

DAY 21
0

在圖像處理中,可以對圖像進行降採樣以減少像素數量,從而減少圖像的大小,而仍然保留足夠的細節以進行分析或顯示,平均池化(average pooling)和最大池化(max pooling)是實現的方法,其中又以最大池化較常見,下面簡單介紹一下執行的過程。

【池化層沒有參數、池化層沒有參數、池化層沒有參數】

  1. 設定池化窗口大小: 池化窗口是一個固定大小的矩形區域,它在輸入特徵圖上滑動。通常,池化窗口的大小是正方形的,例如 2x2 或 3x3。

  2. 滑動池化窗口: 池化窗口以一定的步長(stride)在輸入特徵圖上滑動,步長通常是1或2。步長決定了池化操作的輸出尺寸。

  3. 提取窗口內的最大值: 在每個池化窗口位置,最大池化操作將窗口內的數據取最大值。這意味著在每個窗口中選擇窗口內最亮的像素或特徵。

  4. 生成輸出特徵圖: 每次提取最大值後,將其放入輸出特徵圖的對應位置。這樣,逐步滑動池化窗口直到覆蓋整個輸入特徵圖,最終生成輸出特徵圖。

https://ithelp.ithome.com.tw/upload/images/20230926/20153503ph5c3FAEev.png

圖片來源

由上圖可以看的出來,過程是對原圖取最大值,因此這個池化層是模型是沒有參數的。用 Pytorch 實現的方法如下:

pool = nn.MaxPool2d(2) # 池化區設定為 2
output = pool(img.unsqueeze(0))
print(img.unsqueeze(0).shape, output.shape)

可以發現圖片的長寬小了一倍。
https://ithelp.ithome.com.tw/upload/images/20230926/20153503BaJFjstqSq.png

結語

今天介紹了降採樣的實現方法最大池化,好處是可以縮減運算量的同時保留特徵,明天會再嘗試提高對於貓咪與兔子分類的準確度。


上一篇
Day 20 認識卷積神經網路中的"卷積"
下一篇
Day 22 站在巨人的肩膀上 - 預訓練模型
系列文
30天把AI知識傳授給女友30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言